with Ada.Calendar;
with ffxilog_interface; use ffxilog_interface;

package GUI.Log is
  type Log_Window_Type is record
    Window : Window_Type;

    Log          : List_View_Control_Type;
    Filtered_Log : List_View_Control_Type;

    Export : Button_Type;

    Filter_Options : Group_Box_Type;
    Filter_Pan     : Panel_Type;
    Alarm_Chk      : Check_Box_Type;
    Tell_Chk       : Check_Box_Type;
    LS_Chk         : Check_Box_Type;
    Party_Chk      : Check_Box_Type;
    Say_Chk        : Check_Box_Type;
    Shout_Chk      : Check_Box_Type;
    Other_Chk      : Check_Box_Type;
  end record;

  procedure Create_Log_Window    (Window : in out Log_Window_Type);
  procedure Display_Log          (Window : in out Log_Window_Type);
  procedure Resize_Log           (Window : in out Log_Window_Type);
  procedure Log_Event            (Window : in out Log_Window_Type;
                                  Alarm  : in boolean;
                                  Time   : in Ada.Calendar.Time;
                                  LType  : in line_type;
                                  Content: in GWindows.GString);
  procedure Filter               (Window : in out Log_Window_Type);
  procedure Export_Filtered      (Window : in out Log_Window_Type);
  procedure Close                (Window : in out Log_Window_Type);
end GUI.Log;
